package com.jfm.jfmm.collector.entity.template;

import cn.hutool.core.lang.Dict;
import lombok.Data;

import java.util.HashMap;
import java.util.Map;

/**
 * @author DYang
 * @since 2024-10-13 21:23
 */
@Data
public class CollectTemplate {

    /**
     * 模板名称
     */
    private String templateFileName;
    /**
     * 模板信息
     */
    private Template template;
    /**
     * snmp配置
     */
    private SNMP snmp;

    /**
     * 构建采集模板
     * @param dictMap 采集模板信息
     * @return
     */
    public static Map<String, CollectTemplate> buildTemplates(Map<String, Dict> dictMap) {
        if (dictMap == null) return null;
        Map<String, CollectTemplate> templates = new HashMap<>(8);
        for (Map.Entry<String, Dict> entry : dictMap.entrySet()) {
            CollectTemplate collectTemplate = entry.getValue().toBean(CollectTemplate.class);
            collectTemplate.setTemplateFileName(entry.getKey());
            templates.put(collectTemplate.getTemplate().getCode(), collectTemplate);

        }
        return templates;

    }
}
